////https://www.luogu.com.cn/problem/P3367
//
//#include<iostream>
//
//using namespace std;
//
//const int N = 2e5 + 10;
//int fa[N];
//int n, m;
//
//void Init()
//{
//	for (int i = 1; i <= n; i++)
//		fa[i] = i;
//}
//
//int find(int x)
//{
//	if (fa[x] == x) return x;
//	else return fa[x] = find(fa[x]);
//}
//
//void un(int x, int y)
//{
//	int a = find(x);
//	int b = find(y);
//	fa[a] = b;
//}
//
//bool issame(int x, int y)
//{
//	return find(x) == find(y);
//}
//
//int main()
//{
//	cin >> n >> m;
//	int x, y, z;
//	Init();
//	while (m--)
//	{
//		cin >> z >> x >> y;
//		if (z == 1)
//			un(x, y);
//		else
//		{
//			if (issame(x, y)) cout << "Y" << endl;
//			else cout << "N" << endl;
//		}
//	}
//	return 0;
//}